package com.anji.plus.gaea.inf.extension;

import com.anji.plus.gaea.inf.module.dynamic.entity.CheckInfDTO;

import java.util.function.Supplier;

/**
 * @ClassName AppSecretHepler
 * @Description: 获取密钥 具体由调用方实现
 *
 * @Author dingkaiqiang
 * @Date 2021-03-26
 * @Version V1.0
 **/
public interface GaeaInfHepler {


    /**
     * 根据appId  获取对应得密钥
     * @param appId
     * @return
     */
    public String getAppSecret(String appId);


    /**
     *  校验 只有已上线的接口才可以调用
     * @param checkInf
     * @return
     */
    public CheckInfDTO checkInfExecute(CheckInfDTO checkInf);

    /**
     * 接口测试校验
     **/
    CheckInfDTO checkInfTest(CheckInfDTO checkInf);

    /**
     * 测试通过后置处理
     **/
    void postProcessRunTest(String infName, Supplier<String> supplier);

    /**
     *  校验应用秘钥
     **/
    boolean checkAppIdSecret(String appId, String appSecret);
}
